package com.runfast.paotui.dao.model;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
 * 配送费用
 * 平台管理员可设置统一的配送费模板，可设置统一配送价格
 * （可按时段设置，6~18点X元，18~24点X元等）、X公里内免费、超出X公里加收费用X元等配送费用参数
 */
public class RunfastDeliverCost implements Serializable {
    private Integer id;

    private Double charge;

    private Date createTime;

    private Double noCharge;//基础配送距离,以公里为单位

    private Double timeCost1;//X元;

    private Double timeCost2;//X元;

    private Date endTimeDay1;//c1计费开始时间

    private Date endTimeNight2;//c1计费开始时间

    private Date startTimeDay1;//c1计费开始时间

    private Date startTimeNight2;//c2计费开始时间

    private BigDecimal charge1;//超出1公里加收费用

    private BigDecimal charge2; //超出1公里加收费用

    private BigDecimal maxCharge;//最大配送费

    private Double maxDistance;//最大配送距离

    private String area;//区域ID

    private String areaName;//区域名称

    private String cityId;//城市ID

    private String cityName;//城市名字

    private String countyId;//县分ID

    private String countyName;//县分

    private Integer isdefault;//是否为默认设置1是其他否

    private Integer updatehour;//几小时后订单完成（商家配送）

    private Integer agentId;//代理商Id：

    private String agentName;//代理商名称：

    private Double speed;//送餐速度(每100米几分钟)

    private String distRange;//配送范围

    private static final long serialVersionUID = 1L;

    public Integer getId() {
        return id;
    }

    public RunfastDeliverCost withId(Integer id) {
        this.setId(id);
        return this;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public Double getCharge() {
        return charge;
    }

    public RunfastDeliverCost withCharge(Double charge) {
        this.setCharge(charge);
        return this;
    }

    public void setCharge(Double charge) {
        this.charge = charge;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public RunfastDeliverCost withCreateTime(Date createTime) {
        this.setCreateTime(createTime);
        return this;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Double getNoCharge() {
        return noCharge;
    }

    public RunfastDeliverCost withNoCharge(Double noCharge) {
        this.setNoCharge(noCharge);
        return this;
    }

    public void setNoCharge(Double noCharge) {
        this.noCharge = noCharge;
    }

    public Double getTimeCost1() {
        return timeCost1;
    }

    public RunfastDeliverCost withTimeCost1(Double timeCost1) {
        this.setTimeCost1(timeCost1);
        return this;
    }

    public void setTimeCost1(Double timeCost1) {
        this.timeCost1 = timeCost1;
    }

    public Double getTimeCost2() {
        return timeCost2;
    }

    public RunfastDeliverCost withTimeCost2(Double timeCost2) {
        this.setTimeCost2(timeCost2);
        return this;
    }

    public void setTimeCost2(Double timeCost2) {
        this.timeCost2 = timeCost2;
    }

    public Date getEndTimeDay1() {
        return endTimeDay1;
    }

    public RunfastDeliverCost withEndTimeDay1(Date endTimeDay1) {
        this.setEndTimeDay1(endTimeDay1);
        return this;
    }

    public void setEndTimeDay1(Date endTimeDay1) {
        this.endTimeDay1 = endTimeDay1;
    }

    public Date getEndTimeNight2() {
        return endTimeNight2;
    }

    public RunfastDeliverCost withEndTimeNight2(Date endTimeNight2) {
        this.setEndTimeNight2(endTimeNight2);
        return this;
    }

    public void setEndTimeNight2(Date endTimeNight2) {
        this.endTimeNight2 = endTimeNight2;
    }

    public Date getStartTimeDay1() {
        return startTimeDay1;
    }

    public RunfastDeliverCost withStartTimeDay1(Date startTimeDay1) {
        this.setStartTimeDay1(startTimeDay1);
        return this;
    }

    public void setStartTimeDay1(Date startTimeDay1) {
        this.startTimeDay1 = startTimeDay1;
    }

    public Date getStartTimeNight2() {
        return startTimeNight2;
    }

    public RunfastDeliverCost withStartTimeNight2(Date startTimeNight2) {
        this.setStartTimeNight2(startTimeNight2);
        return this;
    }

    public void setStartTimeNight2(Date startTimeNight2) {
        this.startTimeNight2 = startTimeNight2;
    }

    public BigDecimal getCharge1() {
        return charge1;
    }

    public RunfastDeliverCost withCharge1(BigDecimal charge1) {
        this.setCharge1(charge1);
        return this;
    }

    public void setCharge1(BigDecimal charge1) {
        this.charge1 = charge1;
    }

    public BigDecimal getCharge2() {
        return charge2;
    }

    public RunfastDeliverCost withCharge2(BigDecimal charge2) {
        this.setCharge2(charge2);
        return this;
    }

    public void setCharge2(BigDecimal charge2) {
        this.charge2 = charge2;
    }

    public BigDecimal getMaxCharge() {
        return maxCharge;
    }

    public RunfastDeliverCost withMaxCharge(BigDecimal maxCharge) {
        this.setMaxCharge(maxCharge);
        return this;
    }

    public void setMaxCharge(BigDecimal maxCharge) {
        this.maxCharge = maxCharge;
    }

    public Double getMaxDistance() {
        return maxDistance;
    }

    public RunfastDeliverCost withMaxDistance(Double maxDistance) {
        this.setMaxDistance(maxDistance);
        return this;
    }

    public void setMaxDistance(Double maxDistance) {
        this.maxDistance = maxDistance;
    }

    public String getArea() {
        return area;
    }

    public RunfastDeliverCost withArea(String area) {
        this.setArea(area);
        return this;
    }

    public void setArea(String area) {
        this.area = area == null ? null : area.trim();
    }

    public String getAreaName() {
        return areaName;
    }

    public RunfastDeliverCost withAreaName(String areaName) {
        this.setAreaName(areaName);
        return this;
    }

    public void setAreaName(String areaName) {
        this.areaName = areaName == null ? null : areaName.trim();
    }

    public String getCityId() {
        return cityId;
    }

    public RunfastDeliverCost withCityId(String cityId) {
        this.setCityId(cityId);
        return this;
    }

    public void setCityId(String cityId) {
        this.cityId = cityId == null ? null : cityId.trim();
    }

    public String getCityName() {
        return cityName;
    }

    public RunfastDeliverCost withCityName(String cityName) {
        this.setCityName(cityName);
        return this;
    }

    public void setCityName(String cityName) {
        this.cityName = cityName == null ? null : cityName.trim();
    }

    public String getCountyId() {
        return countyId;
    }

    public RunfastDeliverCost withCountyId(String countyId) {
        this.setCountyId(countyId);
        return this;
    }

    public void setCountyId(String countyId) {
        this.countyId = countyId == null ? null : countyId.trim();
    }

    public String getCountyName() {
        return countyName;
    }

    public RunfastDeliverCost withCountyName(String countyName) {
        this.setCountyName(countyName);
        return this;
    }

    public void setCountyName(String countyName) {
        this.countyName = countyName == null ? null : countyName.trim();
    }

    public Integer getIsdefault() {
        return isdefault;
    }

    public RunfastDeliverCost withIsdefault(Integer isdefault) {
        this.setIsdefault(isdefault);
        return this;
    }

    public void setIsdefault(Integer isdefault) {
        this.isdefault = isdefault;
    }

    public Integer getUpdatehour() {
        return updatehour;
    }

    public RunfastDeliverCost withUpdatehour(Integer updatehour) {
        this.setUpdatehour(updatehour);
        return this;
    }

    public void setUpdatehour(Integer updatehour) {
        this.updatehour = updatehour;
    }

    public Integer getAgentId() {
        return agentId;
    }

    public RunfastDeliverCost withAgentId(Integer agentId) {
        this.setAgentId(agentId);
        return this;
    }

    public void setAgentId(Integer agentId) {
        this.agentId = agentId;
    }

    public String getAgentName() {
        return agentName;
    }

    public RunfastDeliverCost withAgentName(String agentName) {
        this.setAgentName(agentName);
        return this;
    }

    public void setAgentName(String agentName) {
        this.agentName = agentName == null ? null : agentName.trim();
    }

    public Double getSpeed() {
        return speed;
    }

    public RunfastDeliverCost withSpeed(Double speed) {
        this.setSpeed(speed);
        return this;
    }

    public void setSpeed(Double speed) {
        this.speed = speed;
    }

    public String getDistRange() {
        return distRange;
    }

    public RunfastDeliverCost withDistRange(String distRange) {
        this.setDistRange(distRange);
        return this;
    }

    public void setDistRange(String distRange) {
        this.distRange = distRange == null ? null : distRange.trim();
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", charge=").append(charge);
        sb.append(", createTime=").append(createTime);
        sb.append(", noCharge=").append(noCharge);
        sb.append(", timeCost1=").append(timeCost1);
        sb.append(", timeCost2=").append(timeCost2);
        sb.append(", endTimeDay1=").append(endTimeDay1);
        sb.append(", endTimeNight2=").append(endTimeNight2);
        sb.append(", startTimeDay1=").append(startTimeDay1);
        sb.append(", startTimeNight2=").append(startTimeNight2);
        sb.append(", charge1=").append(charge1);
        sb.append(", charge2=").append(charge2);
        sb.append(", maxCharge=").append(maxCharge);
        sb.append(", maxDistance=").append(maxDistance);
        sb.append(", area=").append(area);
        sb.append(", areaName=").append(areaName);
        sb.append(", cityId=").append(cityId);
        sb.append(", cityName=").append(cityName);
        sb.append(", countyId=").append(countyId);
        sb.append(", countyName=").append(countyName);
        sb.append(", isdefault=").append(isdefault);
        sb.append(", updatehour=").append(updatehour);
        sb.append(", agentId=").append(agentId);
        sb.append(", agentName=").append(agentName);
        sb.append(", speed=").append(speed);
        sb.append(", distRange=").append(distRange);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}